package com.leaveworkframework.core.dao;

import java.io.Serializable;
import java.util.List;

import com.leaveworkframework.core.search.PagingRequest;
import com.leaveworkframework.core.search.PagingResponse;

public interface GenericDAO <PK, E extends Serializable>  { 
		E select(PK id);
		
		List<E> selectAll();
		
		PagingResponse<E> selectByPagingRequest(PagingRequest pagingRequest);
		
		PK insert(E entity);
		
		void delete(PK id);
		
		void delete(E entity);
		
		void update(E entity);
}
